﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.Common;
using System.Data.SqlTypes;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BibliotecaClases;


namespace Parque
{
    public partial class FBase : Form
    {
        public static string nombreGlobal;
        public static string apellidosGlobal;
        public static string loginGlobal;
        public static string passwordGlobal;
        public static string dniGlobal;
        public static string tipoGlobal;
        public static int aspecto = 5; 

        string cadena = SingletonCadenaConexion.Instancia.Cadena;
        SqlConnection conexion;
        DataSet ds;
        SqlDataAdapter da;

        
        private FBienvenido fbienvenido = new FBienvenido();
        private FEmpleado fempleado = new FEmpleado();
        private FAtracciones fatracciones = new FAtracciones();
        private FMantenimiento fmantenimiento = new FMantenimiento();
        private FEspectaculos fespectaculos = new FEspectaculos();
        private FAnimadores fanimadores = new FAnimadores();
        private FTienda ftienda = new FTienda();
        private FStock fstock = new FStock();
        private FEntradas fentradas = new FEntradas();
        private FNoticias fnoticias = new FNoticias();
        private FInformes finformes = new FInformes();
        private FAcercaDe facercade = new FAcercaDe();

        public FBase()
        {
            InitializeComponent();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            PBAnimadores.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        public FBase(string nombre, string apellidos, string login, string password, string dni, string tipo)
        {
            loginGlobal = login;
            passwordGlobal = password;
            nombreGlobal = nombre;
            apellidosGlobal = apellidos;
            dniGlobal = dni;
            tipoGlobal = tipo;
            InitializeComponent();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            PBAnimadores.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }
        private void FBase_Load(object sender, EventArgs e)
        {
            Flash();
            fbienvenido.MdiParent = this;
            fempleado.MdiParent = this;
            fatracciones.MdiParent = this;
            fmantenimiento.MdiParent = this;
            fanimadores.MdiParent = this;
            fespectaculos.MdiParent = this;
            ftienda.MdiParent = this;
            fstock.MdiParent = this;
            fentradas.MdiParent = this;
            fnoticias.MdiParent = this;
            finformes.MdiParent = this;
            facercade.MdiParent = this;
            fbienvenido.Show();
        }

        private void EsconderFormAbiertos(Form f) //escondo el q esté abierto y q no sea al q quiero ir
        {
            if (fbienvenido.Visible && fbienvenido != f) fbienvenido.Hide();
            if (fempleado.Visible && fempleado != f) fempleado.Hide();
            if (fatracciones.Visible && fatracciones != f) fatracciones.Hide();
            if (fmantenimiento.Visible && fmantenimiento != f) fmantenimiento.Hide();
            if (fanimadores.Visible && fanimadores!= f) fanimadores.Hide();
            if (fespectaculos.Visible && fespectaculos != f) fespectaculos.Hide();
            if (ftienda.Visible && ftienda != f) ftienda.Hide();
            if (fstock.Visible && fstock != f) fstock.Hide();
            if (fentradas.Visible && fentradas != f) fentradas.Hide();
            if (fnoticias.Visible && fnoticias != f) fnoticias.Hide();
            if (finformes.Visible && finformes != f) finformes.Hide();
            if (facercade.Visible && facercade != f) facercade.Hide();
        }

        private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (Form childForm in MdiChildren)
            {
                childForm.Close();
            }
        }

        public void Flash()
        {
            string mensaje = "";
            try
            {
                conexion = new SqlConnection(cadena);
                da = new SqlDataAdapter("select titulo, descripcion from Noticias where administrador = 1 and visible = 1", conexion);
                ds = new DataSet();
                da.Fill(ds, "Noticias");
                DataTable dt = ds.Tables[0];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    mensaje += i+1 + ". " + dt.Rows[i][0].ToString() + " - " + dt.Rows[i][1].ToString() + "  ";
                }
                Uri UrlFlash = new Uri("http://sindisplay.com/creadores/letreros/show.swf?baseURL=http://sindisplay.com/creadores/letreros/&clickURL=http://www.sindisplay.com/creadores/letreros/&clickLABEL=Crear letrero en flash&type=0&delaySpeed=30&transID=0&str=" + mensaje + "&bgColor=0&symbolX=46&w=5&h=6&pointType=point&glowColor=13369599&designNum=4");
                webBrowser.Url = UrlFlash;
            }
            catch (Exception ex)
            {
                //ex.Message;
                
            }
        }

        private void BTEmpleados_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fempleado);
            fempleado.Interfaz(aspecto);
            fempleado.Show();
            PBEmpleado.Visible = true;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTAtracciones_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fatracciones);
            fatracciones.Interfaz(aspecto);
            fatracciones.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = true;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTMantenimiento_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fmantenimiento);
            fmantenimiento.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = true;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTEspectaculos_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fespectaculos);
            fespectaculos.Interfaz(aspecto);
            fespectaculos.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = true;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTAnimadores_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fanimadores);
            fanimadores.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = true;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTTienda_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(ftienda);
            ftienda.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = true;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            BTStock.Visible = true;
            PBStock.Visible = false;
            LStock.Visible = true;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTEntradas_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fentradas);
            fentradas.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = true;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTNoticias_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(fnoticias);
            fnoticias.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = true;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTInforme_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(finformes);
            finformes.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = true;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = false;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = false;
            PBRojo.Visible = false;
            PBGris.Visible = false;
            PBVerde.Visible = false;
            PBPorDefecto.Visible = false;
        }

        private void BTAcercaDe_Click(object sender, EventArgs e)
        {
            EsconderFormAbiertos(facercade);
            facercade.Show();
            PBEmpleado.Visible = false;
            PBAtracciones.Visible = false;
            PBMantenimiento.Visible = false;
            PBEspectaculos.Visible = false;
            PBAnimadores.Visible = false;
            PBTienda.Visible = false;
            PBEntradas.Visible = false;
            PBInformes.Visible = false;
            PBNoticias.Visible = false;
            PBAcercaDe.Visible = true;
            BTStock.Visible = false;
            PBStock.Visible = false;
            LStock.Visible = false;
            PBAzul.Visible = true;
            PBRojo.Visible = true;
            PBGris.Visible = true;
            PBVerde.Visible = true;
            PBPorDefecto.Visible = true;
        }

        private void BTStock_Click(object sender, EventArgs e)
        {
            if (PBStock.Visible)
            {
                PBStock.Visible = false;
                EsconderFormAbiertos(ftienda);
                ftienda.Show();
            }
            else 
            {
                PBStock.Visible = true;
                EsconderFormAbiertos(fstock);
                fstock.Show();
            }
        }

        private void PBRojo_Click(object sender, EventArgs e)
        {
            aspecto = 2;
            facercade.Interfaz(aspecto);
        }

        private void PBAzul_Click(object sender, EventArgs e)
        {
            aspecto = 1;
            facercade.Interfaz(aspecto);
        }

        private void PBVerde_Click(object sender, EventArgs e)
        {
            aspecto = 4;
            facercade.Interfaz(aspecto);
        }

        private void PBGris_Click(object sender, EventArgs e)
        {
            aspecto = 3;
            facercade.Interfaz(aspecto);
        }

        private void PBPorDefecto_Click(object sender, EventArgs e)
        {
            aspecto = 5;
            facercade.Interfaz(aspecto);
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (MessageBox.Show("¿Realmente desea cerrar la sesión?\n\n - Empleado : " + nombreGlobal + " " + apellidosGlobal + "\n - Tipo : " + tipoGlobal, "Cerrar sesión", MessageBoxButtons.YesNo,
            MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
            {
                this.Hide();
                FLogin flogin = new FLogin();
                flogin.Show();
            }
        }
    }
}
